import { defineConfig, loadEnv } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import pkg from "./package.json";
// import LingeI18nVitePlugins from 'linge-i18n-vite-plugins'
import { viteMockServe } from "vite-plugin-mock";

export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, __dirname);

  const config = {
    build: {
      minify: "terser",
      terserOptions: {
        compress: {
          drop_console: false,
          drop_debugger: false,
        },
      },
    },
    define: {
      __APP_INFO__: JSON.stringify({
        pkg,
        buildTimestamp: Date.now(),
      }),
    },
    plugins: [
      uni(),
      viteMockServe({
        mockPath: "./mock", // mock文件夹路径
        enable: true, // 只有开发环境才开启mock
        logger: true,
        localEnabled: true,
      }),
    ],
    // ,server: {
    //   port: Number.parseInt(env.VITE_APP_PORT, 10),
    //   proxy: {
    //     [env.VITE_APP_PROXY_PREFIX]: {
    //       changeOrigin: true,
    //       target: env.VITE_APP_BASE_URL,
    //       rewrite: (path) =>
    //         path.replace(new RegExp("^/api" + env.VITE_APP_PROXY_PREFIX), ""),
    //     },
    //   },
    // },
  };
  // 加入运行时支持
  // if (mode === 'i18n') {
  //   config.plugins.push(LingeI18nVitePlugins({
  //     basePath: './src', // 提取的目录，基于vite文件位置
  //     outputPath: './output/i18n.json', // 提取的json输出目录基于vite文件位置
  //   }))
  //   config.build.write = false // 不进行打包文件输出，必须附加
  // }
  return config;
});
